<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="utf-8" />
  <meta http-equiv="pragma" content="no-cache">
  <meta http-equiv="cache-control" content="no-cache">
  <meta name="format-detection" content="telephone=no" />
  <meta name="viewport" content="initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no">
  <script>
    var ua = window.navigator.userAgent
    var href = window.location.href
    var isAndroid = ua.match(/android/gi)
    var isIPhone = ua.match(/iphone/gi)
    var isChanjet = ua.match(/chanjet/gi)
    var isDev = href.indexOf("cloud.chanjet.com") < 0
  </script>
  <script>
      ; (function (win, lib) {
        var doc = win.document
        var docEl = doc.documentElement
        var metaEl = doc.querySelector('meta[name="viewport"]')
        var flexibleEl = doc.querySelector('meta[name="flexible"]')
        var dpr = 0
        var scale = 0
        var tid
        var flexible = lib.flexible || (lib.flexible = {})
        if (metaEl) {
          console.warn("将根据已有的meta标签来设置缩放比例")
          var match = metaEl
            .getAttribute("content")
            .match(/initial\-scale=([\d\.]+)/)
          if (match) {
            scale = parseFloat(match[1])
            dpr = parseInt(1 / scale)
          }
        } else if (flexibleEl) {
          var content = flexibleEl.getAttribute("content")
          if (content) {
            var initialDpr = content.match(/initial\-dpr=([\d\.]+)/)
            var maximumDpr = content.match(/maximum\-dpr=([\d\.]+)/)
            if (initialDpr) {
              dpr = parseFloat(initialDpr[1])
              scale = parseFloat((1 / dpr).toFixed(2))
            }
            if (maximumDpr) {
              dpr = parseFloat(maximumDpr[1])
              scale = parseFloat((1 / dpr).toFixed(2))
            }
          }
        }
        if (!dpr && !scale) {
          var devicePixelRatio = win.devicePixelRatio
          if (isIPhone) {
            // iOS下，对于2和3的屏，用2倍的方案，其余的用1倍方案
            if (devicePixelRatio >= 3 && (!dpr || dpr >= 3)) {
              dpr = 3
            } else if (devicePixelRatio >= 2 && (!dpr || dpr >= 2)) {
              dpr = 2
            } else {
              dpr = 1
            }
          } else {
            // 其他设备下，仍旧使用1倍的方案
            dpr = 1
          }
          scale = 1 / dpr
        }
        docEl.setAttribute("data-dpr", dpr)
        if (!metaEl) {
          metaEl = doc.createElement("meta")
          metaEl.setAttribute("name", "viewport")
          metaEl.setAttribute(
            "content",
            "initial-scale=" +
            scale +
            ", maximum-scale=" +
            scale +
            ", minimum-scale=" +
            scale +
            ", user-scalable=no"
          )
          if (docEl.firstElementChild) {
            docEl.firstElementChild.appendChild(metaEl)
          } else {
            var wrap = doc.createElement("div")
            wrap.appendChild(metaEl)
            doc.write(wrap.innerHTML)
          }
        }
        function refreshRem() {
          var width = docEl.getBoundingClientRect().width
          if (width / dpr > 540) {
            width = 540 * dpr
          }
          var rem = width / 10
          docEl.style.fontSize = rem + "px"
          flexible.rem = win.rem = rem
        }
        win.addEventListener(
          "resize",
          function () {
            clearTimeout(tid)
            tid = setTimeout(refreshRem, 300)
          },
          false
        )
        win.addEventListener(
          "pageshow",
          function (e) {
            if (e.persisted) {
              clearTimeout(tid)
              tid = setTimeout(refreshRem, 300)
            }
          },
          false
        )
        if (doc.readyState === "complete") {
          doc.body.style.fontSize = 12 * dpr + "px"
        } else {
          doc.addEventListener(
            "DOMContentLoaded",
            function (e) {
              doc.body.style.fontSize = 12 * dpr + "px"
            },
            false
          )
        }

        refreshRem()
        flexible.dpr = win.dpr = dpr
        flexible.refreshRem = refreshRem
        flexible.rem2px = function (d) {
          var val = parseFloat(d) * this.rem
          if (typeof d === "string" && d.match(/rem$/)) {
            val += "px"
          }
          return val
        }
        flexible.px2rem = function (d) {
          var val = parseFloat(d) / this.rem
          if (typeof d === "string" && d.match(/px$/)) {
            val += "rem"
          }
          return val
        }
      })(window, window["lib"] || (window["lib"] = {}))
  </script>
  <title></title>
  <style>
    html,
    body {
      margin: 0;
      padding: 0;
    }

    html,
    body,
    #root {
      height: 100vh;
    }
  </style>
  <script>
    // function loadscript(src, callback) {
    //   var doc = document
    //   var head = doc.head
    //   var script = doc.createElement("script")
    //   script.src = src
    //   script.onload =
    //     callback ||
    //     function () {
    //       console.log(src + " 加载成功 :)")
    //     }

    //   script.onerror = function () {
    //     console.log(src + " 加载失败 :(")
    //   }

    //   try {
    //     head.appendChild(script)
    //   } catch (e) { }
    // }

    // if (isChanjet) {
    //   const prefix = isDev ? "" : "/flyweight-h5"
    //   const device = isIPhone ? "ios" : "android"


    //   loadscript(prefix + "/static/cordova/" + device + "/cordova.js", function callback(params) {
    //     window.cordova_ = true
    //   })

    // } else {
    //   window.cordova_ = false
    //   window.cordova = {
    //     exec: function () {

    //       console.log("Not in cordova environment!")
    //     },
    //   }
    // }
  </script>
</head>

<body>
  <noscript> You need to enable JavaScript to run this app. </noscript>
  <div id="root"></div>
</body>

</html>